// DesktopIconFetcher.h
#ifndef DESKTOPICONFETCHER_H
#define DESKTOPICONFETCHER_H

#include <QObject>
#include <QVector>
#include <QIcon>
#include <QString>

struct DesktopIcon {
    QIcon icon;
    QString name;
    QString filePath;
    bool isDirectory;
};

class DesktopIconFetcher : public QObject
{
    Q_OBJECT

public:
    explicit DesktopIconFetcher(QObject* parent = nullptr);
    QVector<DesktopIcon> fetchDesktopIcons();

#ifdef Q_OS_WIN
private:
    QVector<DesktopIcon> fetchWindowsDesktopIcons();
#endif
};

#endif // DESKTOPICONFETCHER_H